home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 010 / dontblow.bas (.txt) < prev    next >
Encoding:
GW-BASIC  |  1984-10-27  |  12.1 KB  |  264 lines

  1. 0  KEY OFF:GOTO 900
  2. 1  CLS:LIST  8-899 '  * SUBROUTINE LOCATIONS *
  3. 6  '
  4. 8  ' *** SCREEN SETUPS ***
  5. 10  GOTO 60110 '  BOX IN ZHEADING AT TOP OF PAGE
  6. 12  GOTO 60140 '  CENTER ZHEADING ON SCREEN
  7. 14  GOTO 60170 '  ERASE LINE # 'BEGIN' TO 'FINISH' & RETURN TO 'BEGIN'
  8. 16  GOTO 60200 '  ERASE LINE # 'BEGIN' AND RETURN TO 'BEGIN'
  9. 18  GOTO 60230 '  CONTINUE PROMPT AT BOTTOM OF PAGE
  10. 20  GOTO 61100 '  DUMP SCREEN TO PRINTER
  11. 22  GOTO 61300 '  INPUT PLACER, USES ROW, COL, LENGTH, A$, B$, POINTER
  12. 24  GOTO 61760 '  SELECT FOREGROUND, BACKGROUND, BORDER & HILIGHT COLORS
  13. 100  '
  14. 102  '*** KEYBOARD INPUT AIDS ***
  15. 104  GOTO 60240 ' INKEY$ SUBROUTINE USING A$
  16. 106  GOTO 60280 ' SEARCH FOR PROPER RESPONSE, PR$ IS FIELD OF RESPONSES
  17. 108  GOTO 61600 ' PUT KEYBOARD INTO UPPER-CASE MODE
  18. 110  GOTO 61630 ' PUT KEYBOARD INTO LOWER-CASE MODE
  19. 112  GOTO 61730 ' PRINT A FLASHING "Y/N ?"
  20. 200  '
  21. 310  GOTO 60690 ' CREATE RND INTEGER FROM 'INTA' TO 'INTB' (FNRNDINT)
  22. 502  '*** ERROR HANDLING ROUTINES ***
  23. 504  GOTO 60320 ' ERROR TRAPPING ROUTINE
  24. 506  GOTO 60370 ' "NO SUCH PROGRAM" RESPONSE
  25. 508  GOTO 61570 ' PLAY TUNE FOR MISTAKES
  26. 510  GOTO 62000 ' PLAY TUNE FOR SUCESS
  27. 512  GOTO 62040 ' PLAY TUNE FOR FAILURE
  28. 514  GOTO 62080 ' PLAY TUNE FOR BEING OVER 5,000 POINTS
  29. 516  GOTO 62120 ' PLAY TUNE FOR WINNING
  30. 900  '
  31. 1010  GOSUB 110
  32. 1020  DIM A(11):DEFINT A-Y:DEFSTR Z:GOSUB 310:RANDOMIZE VAL(RIGHT$(TIME$,2)):KEY 10, "save"+CHR$(34)+"dontblow":FO=7:HI=FO+8:BA=4:BO=1:COLOR FO,BA,BO:CLS
  33. 2000  ZHEADING="DON'T BLOW IT":GOSUB 10
  34. 2010  LOCATE 8:ZHEADING="by":GOSUB 12:ZHEADING="Randall F Wilkinson":GOSUB 12:ZHEADING="Yakima, Washington":GOSUB 12:ZHEADING="(509) 966-5156":GOSUB 12
  35. 2030  MS=500 '  MS is the minimum score to start playing
  36. 2040  WS=5000'  WS is the winning score
  37. 2045  IF NOT KK THEN LOCATE 14:COLOR HI:ZHEADING="Do you want sound (Y/N)?":GOSUB 12:COLOR FO ELSE 2050
  38. 2047  GOSUB 104:IF A$<>"Y" AND A$<>"N" THEN 2047 ELSE IF A$="Y" THEN NOISE=-1
  39. 2048  LOCATE 14:COLOR HI:ZHEADING="How about instructions?":GOSUB 12:GOSUB 2800:COLOR FO
  40. 2049  GOSUB 104:IF A$<>"Y" AND A$<>"N" THEN 2049 ELSE IF A$="Y" THEN GOTO 3000
  41. 2050  LOCATE 14:COLOR HI:ZHEADING="How many will be playing (1-6) ?":GOSUB 12:GOSUB 2800:COLOR FO
  42. 2060  GOSUB 104
  43. 2070  NP=VAL(A$):IF NP<1 OR NP>6 THEN COLOR HI:LOCATE 14:ZHEADING="NOT MORE THAN SIX MAY PLAY":GOSUB 12:COLOR FO:GOSUB 508:GOSUB 2290:GOTO 2050
  44. 2080  LOCATE ROW,COL+2:PRINT NP:PRINT:FOR N=1 TO NP:ZHEADING="Type player #"+STR$(N)+"'s name and hit ENTER.":COLOR HI:GOSUB 12:COLOR FO:GOSUB 2800:LOCATE ROW,COL+2:INPUT Z(N):IF NP=1 THEN NP=2:Z(2)="Dummy"
  45. 2090  NEXT
  46. 2100  R=R+1:IF R>NP THEN R=1
  47. 2110  IF F(R)<0 THEN 2100
  48. 2120  CLS:C=0:ZHEADING=Z(R)+"'s TURN":GOSUB 10:GOSUB 2650:FOR N=1 TO 5:C(N)=0:B(N)=FNDICE:A(N)=B(N):NEXT N:NU=5
  49. 2130  FOR N=1 TO 5:LOCATE 7,28+4*N: '  PRINT B(N):NEXT N:IF C<>2 THEN DD=1:GOSUB 2330:DD=0
  50. 2132  IF C(N)<0 THEN COLOR HI:PRINTB(N):COLOR FO ELSE PRINTB(N)
  51. 2134  NEXT N:IF C<>2 THEN DD=1:GOSUB 2330
  52. 2140  NV=0:NU=0
  53. 2150  IF TS=0 THEN LOCATE 13+NP:ZHEADING="<<< SORRY ... YOU BLEW"+STR$(PP)+" POINTS >>>":COLOR HI:GOSUB 12:COLOR FO:GOSUB 512:GOSUB 2290:IF A>WS AND F(R)<A THEN GOSUB 2680:GOTO 2630 ELSE S(R)=0:GOTO 2320
  54. 2160  LOCATE 13+NP,1:ZHEADING="Will you [S]tay or [R]oll again . . ?":COLOR HI:GOSUB 12:COLOR FO:GOSUB 2800
  55. 2170  GOSUB 104:IF A$<>"S" AND A$<>"R" THEN 2170
  56. 2180  IF A$="S" THEN GOTO 2560 ELSE BEGIN=13+NP:GOSUB 16
  57. 2190  FOR N=1 TO 10:A(N)=0:NEXT
  58. 2200  FOR N1=1 TO 5:LOCATE 8,5:COLOR HI:PRINT"Keep this one (Y/N) ->";::IF N1=1 THEN GOSUB 2800
  59. 2210  IF C(N1)<0 THEN 2250 ELSE LOCATE 8,29+4*N1:PRINT"^";
  60. 2220  GOSUB 104:IF A$<>"Y" AND A$<>"N" THEN 2220
  61. 2230  IF A$="Y" THEN GOSUB 2520:GOTO 2250
  62. 2240  GOSUB 2540
  63. 2250  LOCATE 8,29+4*N1:PRINT" ";:NEXT N1:COLOR FO:LOCATE 8,5:PRINTSPC(30);
  64. 2260  C=1:GOSUB 2330:C=2:NU=NV:FOR N=1 TO 5:A(N)=A(N+5):NEXT:DD=1:GOSUB 2330:DD=0
  65. 2270  D=0:IF NV=0 THEN FOR N=1 TO 5:A(N)=B(N):NEXT:NU=5:GOSUB 2330:FOR N=1 TO 5:D=D+A(N):NEXT:IF D=-5 THEN FOR N=1 TO 5:C(N)=0:NEXT:C=0:PRINT"YOU CAN ROLL AGAIN !";:GOTO 2120 '  Roll five again
  66. 2280  GOTO 2130
  67. 2290  FOR N=1 TO 5000:NEXT:RETURN
  68. 2300  FOR N=1 TO 200:NEXT:RETURN
  69. 2310  FOR N=1 TO 120:NEXT:RETURN
  70. 2320  LOCATE 24:ZHEADING="WAIT WHILE DICE ARE ROLLED":GOSUB 10:FOR N=1 TO 3000:NEXT:CLS:S(R)=0:GOTO 2100
  71. 2329  '
  72. 2330  '*** SORTING ***
  73. 2340  FOR J=1 TO NU-1:FOR K=1 TO NU-J:IF A(K)<A(K+1) OR A(K+1)=0 THEN 2360
  74. 2350  TV=A(K+1):A(K+1)=A(K):A(K)=TV
  75. 2360  NEXT K,J
  76. 2369  '
  77. 2370  '*** SCORING *
  78. 2380  TS=0
  79. 2390  IF A(3)<1 THEN 2460
  80. 2400  IF A(1)=A(2) AND A(2)=A(3) THEN A(1)=-1:A(2)=-1:GOTO 2440
  81. 2410  IF A(2)=A(3) AND A(3)=A(4) THEN A(2)=-1:A(4)=-1:GOTO 2440
  82. 2420  IF A(3)=A(4) AND A(4)=A(5) THEN A(4)=-1:A(5)=-1:GOTO 2440
  83. 2430  GOTO 2460
  84. 2440  IF A(3)=1 THEN TS=TS+1000 ELSE TS=TS+100*A(3)
  85. 2450  A(3)=-1
  86. 2460  FOR N=1 TO NU:IF A(N)=1 THEN TS=TS+100:A(N)=-1 ELSE IF A(N)=5 THEN TS=TS+50:A(N)=-1
  87. 2470  NEXT
  88. 2480  IF C=1 THEN S(R)=S(R)+TS:IF TS=0 THEN 2150
  89. 2490  IF TS=0 THEN DD=0
  90. 2500  IF DD=1 THEN LOCATE 23,10:COLOR HI:PRINT TAB(12)"TOTAL THIS ROUND:";:COLOR FO:PRINT TS+S(R);:COLOR HI:PRINT TAB(48);"TOTAL POSSIBLE:";:COLOR FO:PRINT F(R)+TS+S(R);
  91. 2510  PP=TS+S(R):RETURN
  92. 2519  '
  93. 2520  '*** KEEP NUMBER ***
  94. 2530  LOCATE 7,28+4*N1:COLOR HI:PRINT B(N1);:COLOR FO:NU=NU+1:A(NU)=B(N1):C(N1)=-1:IF NOISE THEN PLAY "L20 O3 F"
  95. 2535  RETURN
  96. 2539  '
  97. 2540  '*** REJECT THE NUMBER ***
  98. 2550  LOCATE 7,29+4*N1:COLOR FO:PRINT"-";:COLOR HI:NV=NV+1:B(N1)=FNDICE:A(NV+5)=B(N1):IF NOISE THEN PLAY "L20 O3 C"
  99. 2555  RETURN
  100. 2559  '
  101. 2560  '*** SCORING AND END CHECKS ***
  102. 2570  S(R)=S(R)+TS:TS=0
  103. 2580  F(R)=F(R)+S(R):IF F(R)<MS THEN LOCATE 13+NP:GOSUB 2310:ZHEADING="UH-OH ... YOU NEED AT LEAST"+STR$(MS)+" POINTS TO BEGIN":COLOR HI:GOSUB 12:COLOR FO:GOSUB 512:GOSUB 2310:F(R)=0:GOSUB 2290
  104. 2590  IF F(R)>=WS AND F(R)>A THEN A=F(R):GOTO 2610
  105. 2600  IF A>=WS THEN 2620 ELSE 2630
  106. 2610  COLOR HI:LOCATE 15+NP:ZHEADING=Z(R)+" CURRENTLY HAS"+STR$(F(R))+" POINTS !":GOSUB 12:ZHEADING="IF YOU DO NOT MATCH HIS OR HER SCORE IN YOUR NEXT TURN, YOU WILL LOSE !!!":GOSUB 12:GOSUB 514:COLOR FO:IF NOT NOISE THEN GOSUB 2290
  107. 2620  IF F(R)<A THEN GOSUB 2680
  108. 2630  IF F(R)>=MS THEN LOCATE 13+NP:ZHEADING="VERY GOOD !!  You just picked up"+STR$(PP)+" points !!":COLOR HI:GOSUB 12:COLOR FO:GOSUB 510
  109. 2640  GOSUB 2650:GOSUB 2290:GOTO 2320
  110. 2649  '
  111. 2650  '*** DISPLAY SCORING INFORMATION ***
  112. 2660  FOR N=1 TO NP:IF F(N)>-1 THEN LOCATE 11+N,28:PRINT Z(N)"'s score :"TAB(50)F(N)
  113. 2670  NEXT:RETURN
  114. 2679  '
  115. 2680  '*** RESULTS ***
  116. 2690  NL=NL+1:F(R)=-1:LOCATE 11+R,30:PRINT Z(R)" LOSES THE GAME               ";:GOSUB 2300:GOSUB 2290
  117. 2700  IF NP-NL=1 THEN FOR N=1 TO NP:IF F(N)>0 THEN CLS:ZHEADING=Z(N)+" WINS THE GAME !!!":GOSUB 10:GOSUB 516:GOTO 2720 ELSE NEXT
  118. 2710  RETURN
  119. 2720  FOR NN=1 TO 3:GOSUB 2290:NEXT NN
  120. 2740  GOTO 2760
  121. 2750  RETURN '  PROMPTER
  122. 2760  ZHEADING="WANNA PLAY AGAIN (Y/N) ?":GOSUB 10
  123. 2770  LOCATE 10,38:GOSUB 104:IF A$="N" THEN PRINT"OKAY . . . SO LONG THEN . . . .":END
  124. 2780  CLS:PRINT"OH GOODY . . .":FOR X=1 TO 2600:NEXT:RUN
  125. 2800  IF NOISE THEN PLAY "L15 O4 FCF"
  126. 2810  RETURN
  127. 2998  '
  128. 2999  '*** INSTRUCTIONS ***
  129. 3000  Z="Don't Blow It":ZHEADING="INSTRUCTIONS TO "+CHR$(34)+Z+CHR$(34):GOSUB 10
  130. 3010  LOCATE 6:COLOR HI:PRINT Z;:COLOR FO:PRINT" is a dice game which couples good luck with common sense.  Five"
  131. 3020  PRINT"dice are rolled and the player is asked whether he wants to "CHR$(34)"STAY"CHR$(34)" and leave";
  132. 3030  PRINT"the dice as they are or whether he wishes to "CHR$(34)"ROLL"CHR$(34)" some of them again.  If he"
  133. 3040  PRINT"STAYs, the amount accumulated from his turn will be credited to him.  If he"
  134. 3050  PRINT"decides to ROLL again, the player will be prompted to select which dice he"
  135. 3060  PRINT"wishes to retain and which he wishes to discard.  REMEMBER, at least one"
  136. 3070  PRINT"pointer die must be retained from every roll ... otherwise, you'll ";:COLOR HI:PRINT"Blow It";:COLOR FO:PRINT" !!!"
  137. 3080  PRINT
  138. 3090  ZHEADING="SCORING":COLOR HI:GOSUB 12:COLOR FO
  139. 3100  PRINT"Keeping ";:COLOR HI:PRINT"THREE OF A KIND";:COLOR FO:PRINT" in the same roll, or the numbers ";:COLOR HI:PRINT"FIVE";:COLOR FO:PRINT" or ";:COLOR HI:PRINT"ONE";:COLOR FO:PRINT" is the"
  140. 3110  PRINT"only way to score points.  Fives count as 50, ones as 100, three ones as 1000,"
  141. 3120  PRINT"and three of any other number as 100 times its face value.
  142. 3130  PRINT
  143. 3140  ZHEADING="GETTING STARTED":COLOR HI:GOSUB 12:COLOR FO
  144. 3150  PRINT"Before a player can begin accumulating a score, he must first have enough to"
  145. 3160  PRINT"lay down 500 points ... afterwards, he may STAY with any amount."
  146. 3170  GOSUB 3500
  147. 3180  Z="Don't Blow It":ZHEADING="INSTRUCTIONS TO "+CHR$(34)+Z+CHR$(34):GOSUB 10
  148. 3183  LOCATE 6:ZHEADING="LOSING YOUR TURN":COLOR HI:GOSUB 12:COLOR FO
  149. 3185  PRINT"You may continue rolling the dice as often as you like.  If you are lucky "
  150. 3187  PRINT"enough to have all five dice count as pointers, you may keep them all and ";:COLOR HI:PRINT"ROLL"
  151. 3189  PRINT"five more";:COLOR FO:PRINT" !!!  However, if on any single roll, the replacement dice do not"
  152. 3191  PRINT"include pointers, ";:COLOR HI:PRINT"YOU BLEW IT";:COLOR FO:PRINT", and your turn is lost."
  153. 3198  PRINT:ZHEADING="WINNING THE GAME":COLOR HI:GOSUB 12:COLOR FO
  154. 3200  PRINT"After the first player reaches 5,000 points, any other player following him"
  155. 3210  PRINT"will lose if he does not match or exceed the former player's score.  If the"
  156. 3220  PRINT"next player exceeds this score, then all succeeding players will have to match"
  157. 3230  PRINT"or exceed HIS ... or lose.  The last player left in the game is the WINNER !"
  158. 3235  PRINT:PRINT"(Psst!  If necessary, typing ";:COLOR HI+16:PRINT"Q";:COLOR FO:PRINT" any time clears the screen and cancels the game,"
  159. 3237  PRINT TAB(30)"or ";:COLOR HI+16:PRINT"Z";:COLOR FO:PRINT" toggles the music)"
  160. 3240  PRINT:PRINT TAB(13)"Now go on and have a ball ... and for goodness sakes,"
  161. 3250  ZHEADING=Z:COLOR HI:GOSUB 12:COLOR FO
  162. 3260  GOSUB 3500:KK=-1:GOTO 2000
  163. 3500  LOCATE 25,28:COLOR HI:PRINT"Hit ANY key to continue";:COLOR FO:IF NOISE THEN PLAY "FCF"
  164. 3510  GOSUB 104:LOCATE 25,28:PRINT SPC(30);:RETURN
  165. 3887  PRINT"enough to have all five dice count as pointers, you may keep them all and ";:COLOR HI:PRINT"roll"
  166. 4000  END
  167. 8189  PRINT"five more";:COLOR FO:PRINT" !!!"
  168. 30000  CLS:KEY 2, CHR$(27)+"RUN"+CHR$(13):KEY 5, CHR$(13)+"CLS"+CHR$(13):KEY 6, "edit ":KEY 7, "COLOR hi:":KEY 8, "COLOR fo:":A$="DONTBLOW":KEY 10, "SAVE"+CHR$(34)+A$:KEY 1, "CLS:LIST ":KEY 9, "ZHEADING="+CHR$(34):END
  169. 60000  '
  170. 60010  '
  171. 60020  '***************************************
  172. 60030  '***************************************
  173. 60040  '***                                 ***
  174. 60050  '***      GENERAL SUBROUTINES        ***
  175. 60060  '***                                 ***
  176. 60070  '***************************************
  177. 60080  '***************************************
  178. 60090  '
  179. 60100  '*** BOX IN ZHEADING AT TOP OF PAGE ***
  180. 60110  CLS:COLOR FO:ZH=" * "+ZHEADING+" * ":L=LEN(ZH):PRINT TAB(40-L/2);CHR$(201)+STRING$(L,205)+CHR$(187):PRINT TAB(40-L/2);CHR$(186);:COLOR HI:PRINT ZH;:COLOR FO:PRINT CHR$(186):PRINT TAB(40-L/2);CHR$(200)+STRING$(L,205)+CHR$(188):RETURN
  181. 60120  '
  182. 60130  '*** CENTER ZHEADING ON SCREEN ***
  183. 60140  PRINT TAB(40-LEN(ZHEADING)/2);:PRINT ZHEADING;:ROW=CSRLIN:COL=POS(0):PRINT:RETURN
  184. 60150  '
  185. 60160  '*** ERASE LINES ***
  186. 60170  DEF SEG:POKE &H5B,BEGIN:POKE &H5C,FINISH:LOCATE FINISH,1:FOR XXX=BEGIN TO FINISH+1:PRINT:NEXT:POKE &H5B,1:POKE &H5C,24:LOCATE BEGIN,1:RETURN
  187. 60180  '
  188. 60190  '*** erase line # BEGIN and return to that line ***
  189. 60200  LOCATE BEGIN,1:PRINT SPC(79);:LOCATE BEGIN,1:RETURN
  190. 60210  '
  191. 60220  '*** INKEY$ SUBROUTINE ***
  192. 60230  BEGIN=20:FINISH=20:LOCATE 20,20:COLOR HI:PRINT"*** HIT ANY KEY TO CONTINUE ***";:COLOR FO
  193. 60240  IF LEN(INKEY$) THEN 60240
  194. 60250  A$=INKEY$:IF A$="" THEN 60250 ELSE IF A$>="0" AND A$<="9" THEN RETURN ELSE A$=CHR$(ASC(A$) AND 223)
  195. 60255  IF A$="Q" THEN CLS:END ELSE IF A$="Z" THEN NOISE=NOISE XOR -1
  196. 60257  RETURN
  197. 60260  `
  198. 60270  `*** SEARCH FOR PROPER RESPONSE ***
  199. 60280  FOR A=1 TO LEN(PR$):IF A$=MID$(PR$,A,1) THEN RETURN
  200. 60290  NEXT:A=0:RETURN
  201. 60300  '
  202. 60310  '*** ERROR TRAPPING ROUTINE ***
  203. 60320  HEADING$="ENTRY ERROR ... DO IT RIGHT, DUMMY!"
  204. 60330  GOSUB 10:GOSUB 18
  205. 60340  RESUME .... '  place MAIN MENU starting line where periods (.) are
  206. 60350  '
  207. 60680  '*** Function, generate random integer in range INTA to INTB ***
  208. 60690  DEF FNDICE=INT(1+RND*(6)):RETURN
  209. 60700  '
  210. 61290  '*** Subroutine INPUT PLACER from book by Bretz and Craig, p. 216 ***
  211. 61300  BEEP:B$=STRING$(LENGTH,249):LOCATE ROW,COL:PRINT B$;
  212. 61310  POINTER=1:A$=" "
  213. 61320  WHILE (ASC(A$)<>13)
  214. 61330    A$=INPUT$(1):IF POINTER>LENGTH THEN IF ASC(A$)=13 THEN 61420 ELSE IF            ASC(A$)=8 THEN 61380 ELSE 61420
  215. 61340    IF ASC(A$)>=32 THEN MID$(B$,POINTER,1)=A$:POINTER=POINTER+1:GOTO 61410
  216. 61350    IF POINTER=1 AND ASC(A$)=8 THEN 61410
  217. 61360    IF ASC(A$)<>8 THEN 61400
  218. 61370      MID$(B$,POINTER,1)=CHR$(249)
  219. 61380      MID$(B$,POINTER-1,1)=CHR$(249)
  220. 61390      POINTER=POINTER-1
  221. 61400    IF ASC(A$)=13 THEN B$=MID$(B$,1,POINTER-1):POINTER=LENGTH+1
  222. 61410    LOCATE ROW,COL:PRINT B$
  223. 61420  WEND:RETURN
  224. 61430  '
  225. 61560  '*** PLAY TUNE FOR MISTAKES ***
  226. 61570  IF NOISE THEN PLAY "L16 O3G O3G O3E O3A L8 O3G O3E":FOR X=1 TO 500:NEXT
  227. 61575  RETURN
  228. 61580  '
  229. 61590  '*** PUT KEYBOARD IN UPPER-CASE MODE ***
  230. 61600  DEF SEG=0:POKE 1047, PEEK(1047) OR 64:RETURN
  231. 61610  '
  232. 61620  '*** PUT KEYBOARD INTO LOWER-CASE MODE ***
  233. 61630  DEF SEG=0:POKE 1047,PEEK(1047) AND 191:RETURN
  234. 61640  '
  235. 61650  '*** CONVERT LAST NAME TO ALL CAPITAL LETTERS ***
  236. 61660  YY=1:Z=ZINFO(1,TEMP):YY=INSTR(Z,","):IF YY=0 THEN 60410 ELSE FOR Y=1 TO YY-1:MID$(Z,Y,1)=CHR$(ASC(MID$(Z,Y,1)) AND 223):NEXT
  237. 61670  B$=Z:RETURN
  238. 61680  '
  239. 61690  '*** SET UP FUNCTION KEYS
  240. 61700  KEY 7, "COLOR 4,6:":KEY 8, "COLOR 1,6:":KEY 1, "CLS:LIST ":KEY 6, "EDIT ":KEY 10, ","+CHR$(34)+"SUBRTNS.TXT":END
  241. 61710  '
  242. 61720  '*** print a flashing "Y/N ?"
  243. 61730  PRINT" (";:COLOR HI+16:PRINT"Y/N";:COLOR HI:PRINT") ?";:RETURN
  244. 61740  '
  245. 61750  '*** SELECT FOreground, BAckground, BOrder & HIlight colors ***
  246. 61760  FO=1:BA=6:BO=9:HI=4:RETURN
  247. 61770  '
  248. 61990  '*** HURRAY SOUND ***
  249. 62000  IF NOISE THEN PLAY "L16 O3C O3F N0 O3C O3F N0 O3C L4 O3F L16 O3C O3F O3G O3F O3E N0 O3F L4 O3G L8 L16 O3C O3E N0 O3C O3E N0 O3C L4 O3E L16 O3C O3E O3F O3E O3D N0 O3E L4 O3F"
  250. 62010  RETURN
  251. 62020  '
  252. 62030  '*** TUNE FOR FAILURE ***
  253. 62040  IF NOISE THEN PLAY "L4 O3C O3C L8 O3C L4 O3C O3D# L8 O3D L4 O3D L8 O3C L4 O3C L8 O2B L4 O3C"
  254. 62050  RETURN
  255. 62060  '
  256. 62070  '*** PLAY TUNE FOR BEING OVER 5,000 POINTS ***
  257. 62080  IF NOISE THEN PLAY "L8 O3G O3G L4 O3G L8 O3F O3E L4 O3E L8 O3D# O3E L4 O3E L8 N0 O3D# O3E L4 O3E L8 O3D# O3E L4 O3G L8 O3E O3G L4 O3F O3D L8 N0 O3D L4 O3D L8 O3C# O3D L8 L4 O3D L8 O3C# O3D L4 O3F L8 N0 L8 O3E O3D O3E L4 O3G L8 O3G L4 O3A O3A O3D"
  258. 62090  RETURN
  259. 62100  '
  260. 62110  '*** PLAY TUNE FOR WINNING ***
  261. 62120  IF NOT NOISE THEN 62140 ELSE PLAY "L4 o4c L8 o3g o3e L8 o3d L4 o3c L8 o3d L4 o3e o3g L8 o4c L4 o3b L8 o4c o4d N0 L8 o3d o3e o3f# L8 N0 L8 o3a L4 o4d"
  262. 62130  PLAY "L4 N0 o4d L8 o4c o3b o4d L4 o4c L8 o3a L4 o3b o3b L8 o3b L4 o3a L8 o3g L4 o3a L8 o3b o4c o4d N0 o3g L4 o4c
  263. 62140  RETURN
  264.